Graphic design and editing tools provide guides and constraints that allow users to align objects placed within images or other graphics. For instance, smart guide features are used to increase the precision with which graphical objects are aligned. An example of such a smart guide feature is an “Equal Spacing” constraint, which snaps a particular object with respect to two other objects such that there is equal spacing among the three objects. Current tools only allow users to apply an “Equal Spacing” constraint in the horizontal and vertical direction.
However, equal spacing among objects along an angular axis requires manual user inputs that are less effective and efficient than the automated solutions that exist for horizontal and vertical spacing. For example, a user could approximate, by hand, the proper placement position of a given object between two other objects. But this approximate placement lacks precision and is prone to error. Alternatively, a user could place multiple objects using the horizontal “Equal Spacing” constraint and then rotate the image to the desired angle. But this tedious place-and-rotate technique requires multiple rotation operations by the user as well as knowledge of the rotation angle necessary to bring the objects into alignment. Thus, when working with an existing image with objects already aligned to an angle, the user may have to approximate the rotations needed to bring the objects into horizontal alignment, which is also imprecise.
Even if the additional rotations could be done with precision, the final design appearance, with the objects aligned at an angle, will differ from the appearance displayed to the user when the object is being placed, with the objects aligned horizontally. Thus, after placing the object, a user would not be able to determine whether they are satisfied with the placement until the graphic is rotated. Thus, adjustments and corrections to the placement position would be tedious, as the extra rotational steps would need to be performed for each adjustment.
For these and other reasons, existing techniques for spacing graphical objects along an angular axis are insufficient.